package com.itheima;

import java.util.HashMap;
import java.util.Map;

public class MapPractice {
    public static void main(String[] args) {
        Map<String, String> data = new HashMap<>();
        data.put("小唐", "A");
        data.put("小王", "B");
        data.put("小李", "C");
        data.put("小赵", "D");
        data.put("小王1", "E");
        data.put("小李1", "F");
        data.put("小赵1", "G");
        data.put("小赵2", "H");
        data.put("小赵3", "I");
        data.put("小赵4", "J");
        data.put("小赵5", "K");
        data.put("小赵6", "L");
        data.put("小赵7", "M");
        data.put("小赵8", "N");

        count(data);
    }

    public static void count(Map<String, String> data) {
        /**
         * 1. 创建一个新的Map集合，用了存储统计投票的结果
         * 2. 遍历data集合（key--value）
         * ---3.将value（A）拿出来，将value（A）作为key存储在新的Map集合中，
         * ---4.如果A已经存在，那么将A对应的值加1，
         * ---5.如果A不存在，那么将A---1，存储在Map集合中
         * 6. 遍历新的Map集合，将结果打印出来
         */
        Map<String, Integer> resultMap = new HashMap<>();

        data.forEach((k, v) -> {
            boolean containsKey = resultMap.containsKey(v);
            if (containsKey) {//  如果A已经存在，那么将A对应的值加1
                Integer integer = resultMap.get(v);
                resultMap.put(v, integer + 1);
            } else {// 如果A不存在，那么将A---1，存储在Map集合中
                resultMap.put(v, 1);
            }
        });
        // 遍历新的Map集合，将结果打印出来
        resultMap.forEach((k, v) -> {
            System.out.println(k + "-->" + v);
        });
    }
}
